/** layui-v2.4.5 MIT License By https://www.layui.com */ ;
layui.define("jquery", function(e) {
	"use strict";
	var a = layui.jquery,
		i = {
			config: {},
			index: layui.rate ? layui.rate.index + 1e4 : 0,
			set: function(e) {
				var i = this;
				return i.config = a.extend({}, i.config, e), i
			},
			on: function(e, a) {
				return layui.onevent.call(this, n, e, a)
			}
		},
		l = function() {
			var e = this,
				a = e.config;
			return {
				setvalue: function(a) {
					e.setvalue.call(e, a)
				},
				config: a
			}
		},
		n = "rate",
		t = "layui-rate",
		o = "layui-icon-rate",
		s = "layui-icon-rate-solid",
		u = "layui-icon-rate-half",
		r = "layui-icon-rate-solid layui-icon-rate-half",
		c = "layui-icon-rate-solid layui-icon-rate",
		f = "layui-icon-rate layui-icon-rate-half",
		v = function(e) {
			var l = this;
			l.index = ++i.index, l.config = a.extend({}, l.config, i.config, e), l.render()
		};
	v.prototype.config = {
		length: 5,
		text: !1,
		readonly: !1,
		half: !1,
		value: 0,
		theme: ""
	}, v.prototype.render = function() {
		var e = this,
			i = e.config,
			l = i.theme ? 'style="color: ' + i.theme + ';"' : "";
		i.elem = a(i.elem), parseInt(i.value) !== i.value && (i.half || (i.value = Math.ceil(i.value) - i.value < .5 ? Math.ceil(i.value) : Math.floor(i.value)));
		for(var n = '<ul class="layui-rate" ' + (i.readonly ? "readonly" : "") + ">", u = 1; u <= i.length; u++) {
			var r = '<li class="layui-inline"><i class="layui-icon ' + (u > Math.floor(i.value) ? o : s) + '" ' + l + "></i></li>";
			i.half && parseInt(i.value) !== i.value && u == Math.ceil(i.value) ? n = n + '<li><i class="layui-icon layui-icon-rate-half" ' + l + "></i></li>" : n += r
		}
		n += "</ul>" + (i.text ? '<span class="layui-inline">' + i.value + "星" : "") + "</span>";
		var c = i.elem,
			f = c.next("." + t);
		f[0] && f.remove(), e.elemTemp = a(n), i.span = e.elemTemp.next("span"), i.setText && i.setText(i.value), c.html(e.elemTemp), c.addClass("layui-inline"), i.readonly || e.action()
	}, v.prototype.setvalue = function(e) {
		var a = this,
			i = a.config;
		i.value = e, a.render()
	}, v.prototype.action = function() {
		var e = this,
			i = e.config,
			l = e.elemTemp,
			n = l.find("i").width();
		l.children("li").each(function(e) {
			var t = e + 1,
				v = a(this);
			v.on("click", function(e) {
				if(i.value = t, i.half) {
					var o = e.pageX - a(this).offset().left;
					o <= n / 2 && (i.value = i.value - .5)
				}
				i.text && l.next("span").text(i.value + "星"), i.choose && i.choose(i.value), i.setText && i.setText(i.value)
			}), v.on("mousemove", function(e) {
				if(l.find("i").each(function() {
						a(this).addClass(o).removeClass(r)
					}), l.find("i:lt(" + t + ")").each(function() {
						a(this).addClass(s).removeClass(f)
					}), i.half) {
					var c = e.pageX - a(this).offset().left;
					c <= n / 2 && v.children("i").addClass(u).removeClass(s)
				}
			}), v.on("mouseleave", function() {
				l.find("i").each(function() {
					a(this).addClass(o).removeClass(r)
				}), l.find("i:lt(" + Math.floor(i.value) + ")").each(function() {
					a(this).addClass(s).removeClass(f)
				}), i.half && parseInt(i.value) !== i.value && l.children("li:eq(" + Math.floor(i.value) + ")").children("i").addClass(u).removeClass(c)
			})
		})
	}, v.prototype.events = function() {
		var e = this;
		e.config
	}, i.render = function(e) {
		var a = new v(e);
		return l.call(a)
	}, e(n, i)
});